const express = require('express');
const router = express.Router();
const auth = require('../middleware/auth');
const adminAuth = require('../middleware/adminAuth');
const productController = require('../controllers/productController');

// 获取商品列表（支持分页和筛选）
router.get('/', productController.getProducts);

// 搜索商品
router.get('/search', productController.searchProducts);

// 获取商品分类（公开）
router.get('/categories', productController.getCategories);

// 获取商品成色（公开）
router.get('/conditions', productController.getConditions);

// 获取用户的商品列表
router.get('/user/:userId?', auth, productController.getUserProducts);

// 管理员路由
// 管理员获取所有商品列表
router.get('/admin/products', auth, adminAuth, productController.getAllProducts);

// 管理员获取商品详情
router.get('/admin/products/:id', auth, adminAuth, productController.getProductAdmin);

// 管理员下架商品
router.put('/admin/products/:id/remove', auth, adminAuth, productController.removeProduct);

// 管理员审核商品
router.put('/admin/products/:id/review', auth, adminAuth, productController.reviewProduct);

// 获取商品详情（公开）- 需要放在特定路由后面，避免路径冲突
router.get('/:id', productController.getProductDetail);

// 发布商品（需要登录）
router.post('/', auth, productController.createProduct);

// 更新商品（需要登录）
router.put('/:id', auth, productController.updateProduct);

// 删除商品（需要登录）
router.delete('/:id', auth, productController.deleteProduct);

module.exports = router; 